#include<iostream>
using namespace std;



/* 
1.定义一个普通人类
2.定义一个术士类
3.定义一个精灵类
4.实例化(不同的类调用同一函数产生不同效果)用到指针跟踪
5.
*/
class role
{
public:
   virtual  void attack()
     {
          std::cout << "用拳头攻击" << std::endl;
     }
};

class wizard : public role
{
public:
  virtual   void attack()
     {
          std::cout << "用魔杖攻击" << std::endl;
     }
};


class sprite : public role
{
public:
  virtual   void attack()
     {
          std::cout << "用法杖攻击" << std::endl;
     }
};

int main()
{    

     int sel;
     while(1)
     {
     std::cout << "请输入职业：1.精灵 2.术士" << std::endl;
     cin>>sel;

     role * p;
     if(sel==1)
     {
          p=new sprite;//实例化的过程，动态内存分配，
     }
     else if (sel==2)
     {
         p= new wizard; //实例化的过程，动态内存分配，
     }
          p->attack();
     }

}






